package org.nanotek.mq;

import org.nanotek.StringKong;

/**
 *
 * Simple builder interface for gereric type (serialized objects) messages
 * bettwern the betweens of the application.
 * application.
 *
 * @author josecanova
 *
 * @param <M>
 * @param <I>
 * @param <T>
 */
public interface MessageBuilder <M, I, T extends StringKong>{

	public T newHeader();
	public T newHeader(T sourceMessage);
	public T newHeader(T sourceMessage,I info);

	public M newMessage();
	public M newMessage(T sourceMessage);
	public M newMessage(T sourceMessage,I info);
	public M newMessage(T header , T sourceMessage,I info);


}
